package com.yingjie.commonbase.commons;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public final class DateUtil {

    private static SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd hh:mm:ss");

    public Date stringToDate(String strDate){
        Date date;
        try {
            date = sdf.parse(strDate);
        } catch (ParseException e) {
            e.printStackTrace();
            return null;
        }
        return date;
    }
    public final static String  nowDateTimeToString(){
        return sdf.format(new Date());
    }

    public final static String  nowDateTimeTofileString(){
        return new SimpleDateFormat("yyy-MM-dd").format(new Date());
    }

    //date数据转字符串
    public final static String  DateTimeToString(Date date){
        return sdf.format(date);
    }

    //8：20 转时间对象
    public final static Date TimeToDateExample (String timeStr){
        // 定义时间格式
        Date resultDate = null;
        try {
            // 定义时间格式
            SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm");
            // 解析时间字符串为 Date 对象
            Date time = timeFormat.parse(timeStr);

            // 获取当前日期
            Calendar calendar = Calendar.getInstance();
            // 获取当前日期的年、月、日
            int year = calendar.get(Calendar.YEAR);
            int month = calendar.get(Calendar.MONTH);
            int day = calendar.get(Calendar.DAY_OF_MONTH);

            // 设置时间对象的年、月、日
            calendar.setTime(time);
            calendar.set(Calendar.YEAR, year);
            calendar.set(Calendar.MONTH, month);
            calendar.set(Calendar.DAY_OF_MONTH, day);

            // 获取包含当天日期和指定时间的 Date 对象
            resultDate = calendar.getTime();

            // 格式化输出结果
            SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            System.out.println("转换后的日期时间: " + outputFormat.format(resultDate));
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return resultDate;
    }
}
